<?php
/*

Version 0.1
SEMF - Web Desiging Framework for Sport Event Managment
Copyright (C) 2006, SEMF Developers

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/
include_once($semf_root.'page_designer/components/Component.php');

class WindowComponent extends Component
{
	public static function get_properties()
	{
		return array('Apearance'=> array(
							'Width'=> '150',
					 		'Height'=> '25'),
					 'DataBinding' => array(
					 		'Title'=> 'Window',
					 					),
					 );	
	}
	
	/** This happens when container changes.. */
	public static function adjust_properties_with_container($parent_container, $properties)
	{
		//anyway here we dont need to edit anything. since this is the parent controller.

		$apearance_properties = $properties['Apearance'];
		
		$component = $parent_container->firstChild;
		
		/** here we need to think only apearance properties */
		
		$parent_width = $parent_container-> getAttribute('width');
		$parent_height = $parent_container-> getAttribute('height');
		
		 $properties['Apearance']['Width'] = $parent_width -5;
		 $properties['Apearance']['Height'] = $parent_height -5;
		 
		 
		 return $properties;
	}
	
	/** build properties dynamically if atmost one property is changed*/
	public static function build_properties($parent_container, $properties,
											$property_group, $key, $value)
	{
		if( $key != NULL )
		{
			$properties[$property_group][$key] = $value;
		}
		else
		{
			$component = $parent_container->firstChild;
		
			/** here we need to think only apearance properties */
		
			$parent_width = $parent_container-> getAttribute('width');
			$parent_height = $parent_container-> getAttribute('height');
			
			$properties['Apearance']['Width'] = $parent_width - 5;
			$properties['Apearance']['Height'] = $parent_height - 5;		
		}
		return 	$properties;
	}
	
	public static function build_containers( $parent_container, $properties)
	{
		$component = $parent_container->firstChild;
		
		$apearance_properties = $properties['Apearance'];
		
		$width = $apearance_properties['Width'] - 9;
		$height = $apearance_properties['Height'] - 27;
				
		
		$component_id = $component-> getAttribute('id');
		
		$container_id = "_".$component_id;
		
		$x = 1;
		$y = 25;
		
		//print_r($properties);
		
		//we do have one container...
		return array( $container_id => 
								array (	'x' => $x,
										'y' => $y,
										'width' => $width,
										'height' => $height
										)
					);
	}
	
	public static function get_action_info($component_id)
	{
		return array('onClick'=> array(
							'action' => action::$CLICK,
							'elem1' => "text_".$component_id,),
					  'onEdit'=> array(
							'action' => action::$CHANGE,
							'elem1' => "text_".$component_id,),);
							
	}
	
}
?>